package top.z.orm.core.osql;

/**
 * 表名与实体名,列名与字段名互转
 */
public interface NameTranslate {

    /**
     * 将Java实体名转成DB表名
     *
     * @param entityName Java实体名
     * @return SQL 表名
     */
    String toTableName(String entityName);

    /**
     * 将Java实体类的字段名转成DB表的列名
     *
     * @param fieldName Java里实体类的字段名
     * @return SQL 列名
     */
    String toColumnName(String fieldName);

    /**
     * 将DB表名转成Java实体名
     *
     * @param tableName 数据库表名
     * @return Java实体名
     */
    String toEntityName(String tableName);

    /**
     * 将DB表的列名转成Java里实体类的字段名
     *
     * @param columnName DB表的列名
     * @return Java实体字段名称
     */
    String toFieldName(String columnName);

}